System and method for capturing and translating Braille embossing

ABSTRACT

The present disclosure describes, among other things, a device. The device includes a plurality of sensors, an output system, a processor coupled to the plurality of sensors and the output system, and a memory. The memory stores instructions that, when executed by the processor, cause the processor to receive a signal from the plurality of sensors, interpret the signal as a first Braille cell, and send a signal corresponding to the first Braille cell to the output system.

RELATED APPLICATION

The present application claims priority to U.S. Application No.61/332,310, “System and Method for Capturing and Translating BrailleEmbossing,” filed May 7, 2010, the contents of which are incorporated byreference in their entirety.

FIELD

The present disclosure relates to methods and systems for writing andembossing with Braille. In particular, the present disclosure relates tomethods and systems for capturing embossing motions of a mechanicalBraille writer and translating the motions into data for output.

BACKGROUND

Braille was invented more than 175 years ago to provide a system thatblind people can use to read and write. Braille is a system of raiseddots that can be read very quickly with the fingers. Braille writersexist in either mechanical or electronic formats.

SUMMARY

In some aspects, the present disclosure is directed to a device. Thedevice can include a plurality of sensors, an output system, a processorcoupled to the plurality of sensors and the output system, and a memory.The memory can store instructions that, when executed by the processor,cause the processor to receive a signal from the plurality of sensors,interpret the signal as a first Braille cell, and send a signalcorresponding to the first Braille cell to the output system.

The memory can store instructions that, when executed by the processor,further cause the processor to interpret the signal as a letter, number,symbol, or punctuation mark. The memory can store instructions that,when executed by the processor, further cause the processor to determinethat the first Braille cell has been entered. The memory can storeinstructions that, when executed by the processor, further cause theprocessor to determine that keys for the first Braille cell have beendepressed or reset. The memory can store instructions that, whenexecuted by the processor, further cause the processor to determine thatan embosser head has been advanced or a space key has been depressed.The memory can store instructions that, when executed by the processor,further cause the processor to determine that a predetermined period oftime has elapsed since a key of a Braille writer has been depressed orreset. The predetermined period of time can be 10 ms, 20 ms, 50 ms, 100ms, or 500 ms.

The plurality of sensors can comprise at least one of Hall-effectsensors and optical sensors. The plurality of sensors can transmit thesignal to the processor in response to detection of a magnetic fieldexceeding a threshold. The plurality of sensors can transmit the signalto the processor in response to detection of an optical signal fallingbelow a threshold.

The memory can store instructions that, when executed by the processor,further cause the processor to send the signal corresponding to thefirst Braille cell to memory for storage. The memory can storeinstructions that, when executed by the processor, further cause theprocessor to produce an audio signal corresponding to the first Braillecell, and send the audio signal to the output system.

The output system can comprise at least one of a visual display and anaudio system. The output system can comprise at least one of an LCDscreen, speaker, printer, cathode ray tube monitor, storage device, andteletypewriter. The device can be configured to be coupled to amechanical Braille writer.

In some aspects, the present disclosure is directed to a method. Themethod can include receiving, by a processor, a signal from a pluralityof sensors; interpreting, by the processing, the signal as a firstBraille cell; and sending, by the processor, a signal corresponding tothe first Braille cell to an output system. Interpreting the signal asthe first Braille cell can include interpreting the signal as the firstBraille cell after a timer set upon activation of a first key of aBrailler writer elapses. Interpreting the signal as the first Braillecell can include resetting the timer upon activation of a second key ofthe Brailler writer.

BRIEF DESCRIPTION OF THE DRAWING

The foregoing and other objects, aspects, features, and advantages ofthe present disclosure will become more apparent and better understoodby referring to the following description taken in conjunction with theaccompanying drawing, in which:

FIG. 1A is a block diagram of a perspective view of an implementation ofa mechanical Braille writer;

FIG. 1B is a block diagram of a perspective, rear view of animplementation of a mechanical Braille writer;

FIG. 1C is a block diagram of an exploded, perspective view of animplementation of a mechanical embossing mechanism;

FIG. 1D is a block diagram of a perspective view, with cover removed, ofan implementation of a mechanical Braille writer;

FIG. 1E is a block diagram of a plan view, with cover removed, of animplementation of a mechanical Braille writer;

FIG. 1F is a block diagram of a bottom view of an implementation of amechanical Braille writer;

FIG. 2 is a block diagram depicting an implementation of a computingdevice useful in connection with the methods and systems describedherein;

FIG. 3A is a block diagram of an implementation of a system forcapturing and translating Braille embossing;

FIG. 3B is a flow chart of an implementation of a method for capturingand translating Braille embossing;

FIG. 4 is a block diagram of an implementation of an installed add-onoutput module for a mechanical Braille writer; and

FIG. 5 is a diagram of a Braille writer showing the interface for asystem for capturing and translating Braille embossing.

The features and advantages of the present disclosure will become moreapparent from the detailed description set forth below when taken inconjunction with the drawing, in which like reference charactersidentify corresponding elements throughout. In the drawing, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements.

DETAILED DESCRIPTION OF CERTAIN IMPLEMENTATIONS

For purposes of reading the description of the various implementationsbelow, the following descriptions of the sections of the specificationand their respective contents can be helpful:

Section A describes implementations of mechanical Braille writers;

Section B describes implementations of a computing device which can beuseful for practicing implementations described herein; and

Section C describes implementations of systems and methods for capturingand translating Braille embossing.

A. Mechanical Braille Writer

Referring now to FIGS. 1A-1F, implementations of a mechanical Braillewriter 60 are shown and described. As shown in FIG. 1A, a mechanicalBraille writer 60 can include embossing keys 62-72, a line spacing key74, and a back space key 76. The mechanical Braille writer 60 caninclude margin guides 78 and 80 at the front of the Braille writer 60.The Braille writer 60 can include paper advance knobs 82 and 84, whichcan include a “wingnut” configuration for ease of gripping. The Braillewriter 60 can include paper release levers 86 and 88. Braille writer 60can include an embossing mechanism or carriage assembly 90. A frontportion 91 of the Braille writer 60 can serve as an integrated handle.

Referring now to FIG. 1B, a Braille writer 60 can include a moveablepanel 93, which can serve as an integrated paper tray, reading rest andalignment surface. Referring ahead to FIG. 1E, a Braille writer 60 caninclude a paper drum assembly.

Referring now to FIG. 1C, an implementation of an embossing mechanism orcarriage assembly 90 for use in a mechanical Braille writer 60 is shownand described. The mechanism 90 can include an array of six pins 92 thatare slidingly guided by structure 94. The pins in the array of pins 92can be straight and identical, allowing for ease of assembly andadjustment.

Still referring to FIG. 1C, also shown is a carriage head releasemechanism. A button 100 can be pushed downwardly onto a beam 102. Thebeam 102 can lift a cell spacer assembly 104 by means of a hooked wire106. Pushing the button 100 can result in the lifting of the cell spacerassembly 104 away from the rack bar, thereby releasing the carriage.

In operation, a user can depress (also referred to herein as “press”)one of the embossing keys 62-72, causing a corresponding one of the pinsin the array 92 to extend so as to emboss a raised dot on paper (notshown) passing between surfaces of the embossing mechanism 90. After aletter is created, the user can activate a spacebar 92 to advance thepaper, thereby preparing for embossing a next letter. The spacebar 92can be mechanically linked to embossing keys 62-72 such that uponrelease of all depressed embossing keys 62-72, the embossing mechanism90 can be moved to the next Braille cell.

FIGS. 1D, 1E and 1F illustrate cutaway views of implementations of amechanical Braille writer, showing the mechanical interconnections thatenable embossing. Referring back to FIG. 1C, each pin 92 can lifted by acorresponding lifter segment arranged from the front of the Braillewriter to the back and shown below pins 92. Referring now to FIG. 1F,which shows a cutaway view from below Braille writer 60, embossing keys62-72 can be connected via levers to a plurality of bars runninghorizontally across the Braille writer 60 (although shown running fromtop to bottom in the rotated view of FIG. 1F). Each of the plurality ofbars can correspond to the plurality of lifter segments shown in FIG.1C, such that lifting the bar can raise the lifter segment of theembosser head and the corresponding pin, regardless of the position ofthe embosser head.

B. Computing Device

In some implementations, a device that can be coupled to a Braillewriter 60 (described in more detail in Section C) can include acomputing device. FIG. 2 depicts a block diagram of an exemplarycomputing device 200 useful for practicing an implementation of such adevice. As shown in FIG. 2, a computing device 200 can include a centralprocessing unit or main processor 221, and a main memory unit 222. Insome implementations, a computing device 200 can include one or more I/Oports, connected to one or more I/O devices 230 a-n. In someimplementations, such connection can be direct, such as the illustratedconnection to I/O device 230 b, while in other implementations, suchconnection can be indirect via a bridge 270 and/or a bus 250, such asthe illustrated connection to I/O devices 230 a-n. In oneimplementation, a computing device can include a memory port 203, whilein other implementations, main memory 222 can be directly available tomain processor 221. In many implementations, a computing device 200 caninclude a cache 240.

A central processing unit or main processor 221 can comprise any logiccircuitry that responds to and processes instructions fetched from amain memory unit 222. In some implementations, the processor can be haveARM architecture (e.g., ARM9).

In many implementations, the processor 221 can be provided by amicroprocessor unit, such as: those manufactured by STMicroelectronicsN.V. of Geneva, Switzerland, including the ARM-based STM32 family ofmicorprocessors; those manufactured by Intel Corporation of MountainView, Calif.; those manufactured by Motorola Corporation of Schaumburg,Ill.; those manufactured by Freescale Semiconductor, Inc. of Austin,Tex.; those manufactured by Transmeta Corporation of Santa Clara,Calif.; the RS/6000 processor or others manufactured by InternationalBusiness Machines of White Plains, N.Y.; those manufactured by MarvellSemiconductor, Inc. of Santa Clara, Calif.; or those manufactured byAdvanced Micro Devices of Sunnyvale, Calif. The computing device 200 canbe based on any of these processors, or any other processor capable ofoperating as described herein. In some implementations, the computingdevice 200 can include more than one processor.

Main memory unit 222 can be one or more memory chips capable of storingdata and allowing any storage location to be directly accessed by themicroprocessor 221, such as Static random access memory (SRAM), BurstSRAM or SynchBurst SRAM (BSRAM), Dynamic random access memory (DRAM),Fast Page Mode DRAM (FPM DRAM), Enhanced DRAM (EDRAM), Extended DataOutput RAM (EDO RAM), Extended Data Output DRAM (EDO DRAM), BurstExtended Data Output DRAM (BEDO DRAM), Enhanced DRAM (EDRAM),synchronous DRAM (SDRAM), JEDEC SRAM, PC100 SDRAM, Double Data RateSDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), SyncLink DRAM (SLDRAM),Direct Rambus DRAM (DRDRAM), or Ferroelectric RAM (FRAM). The mainmemory 222 can be based on any of the above described memory chips, orany other available memory chips capable of operating as describedherein. In some implementations, main memory unit 222 can include anon-volatile memory element, such as read-only memory (ROM),programmable ROM (PROM), erasable PROM (EPROM), electrically erasablePROM (EEPROM), flash memory, magnetoresistive RAM (MRAM), ferroelectricRAM (FRAM), or any other type and form of non-volatile memory. In someimplementations, a main memory unit 222 can be located internally in theBraille writer 60. In some implementations, the main memory unit 222 canbe located within an LCD screen module 400 discussed in more detailbelow, or in an add-on module.

In some implementations, microprocessor 221 can communicate with mainmemory 222 via a serial interface. In some implementations,microprocessor 221 can communicate with main memory 222 via a parallelinterface. In some implementations, the processor 221 can communicatewith main memory 222 via a system bus 250 (described in more detailbelow).

FIG. 2 depicts an implementation of a computing device 200 in which theprocessor can communicate directly with main memory 222 via a memoryport 203. For example, in FIG. 2 the main memory 222 can be DRDRAM. Themain processor 221 can communicate directly with cache memory 240 via asecondary bus, sometimes referred to as a backside bus. In someimplementations, the main processor 221 can communicate with cachememory 240 using the system bus 250. Cache memory 240 can have a fasterresponse time than main memory 222. Cache memory 240 can be provided bySRAM, BSRAM, or EDRAM.

In some implementations, the processor 221 can communicates with variousI/O devices 230 via a local system bus 250. Various buses can be used toconnect the central processing unit 221 to any of the I/O devices 230,including a VESA VL bus, an ISA bus, an EISA bus, a MicroChannelArchitecture (MCA) bus, a PCI bus, a PCI-X bus, a PCI-Express bus, or aNuBus. For implementations in which the I/O device is a video display224, the processor 221 can use an Advanced Graphics Port (AGP) tocommunicate with the display 224. In some implementations, the processor221 can communicate directly with I/O device 230 b via HYPERTRANSPORT,RAPIDIO, or INFINIBAND communications technology.

FIG. 2 also depicts an implementation in which local buses and directcommunication can be mixed: the processor 221 can communicate with anI/O device 230 a using a local interconnect bus while communicating withanother I/O device 230 b directly. I/O devices 230 a-n or 230′a-n cancomprise a wide variety of I/O devices, with input devices includingsensors, switches, keyboards, and microphones. Output devices caninclude video displays, speakers, inkjet printers (e.g., with liquidingress protection), laser printers, and dye-sublimation printers. AnI/O controller 223, as shown in FIG. 2, can control the I/O devices. TheI/O controller can control one or more I/O devices 230′a-n. An I/Odevice can provide storage and/or an installation medium for thecomputing device 200. The computing device 200 can provide one or moreUSB connections (not shown). USB connections can be utilized tointerface with various USB-communications capable devices, includinghandheld USB storage devices such as the USB Flash Drive line of devicesmanufactured by Twintech Industry, Inc. of Los Alamitos, Calif.; USBprinters, including inkjet, laser, dot-matrix, thermal printers, orother types of printing devices, or non-USB printers via a USB-serial orUSB-parallel adapter; USB displays, including Liquid Crystal Display(LCD), Light Emitting Diode (LED), Organic LED (OLED), or electronic ink(eInk) based displays; USB-based wireless network adapters; or any othertype and form of USB-based device, accessory, or adapter.

Still referring to FIG. 2, the computing device 200 can support anysuitable installation device, such as a floppy disk drive for receivingfloppy disks such as 3.5-inch, 5.25-inch disks or ZIP disks, a CD-ROMdrive, a CD-R/RW drive, a DVD-ROM drive, tape drives of various formats,USB device, hard-drive or any other device suitable for installing orupdating software and programs. The computing device 200 can include astorage device, such as one or more hard disk drives or flash storagemediums, for storing an operating system and other related software, andfor storing application software programs.

In some implementations, the computing device 200 can include a networkinterface to interface to a network through a variety of connectionsincluding, but not limited to, standard telephone lines, LAN or WANlinks (e.g., 802.11, T1, T3, 56 kb, X.25, SNA, DECNET), broadbandconnections (e.g., ISDN, Frame Relay, ATM, Gigabit Ethernet,Ethernet-over-SONET), wireless connections, or some combination of anyor all of the above, such as, for example, to connect to a networkedprinter or device. Connections can be established using a variety ofcommunication protocols (e.g., TCP/IP, IPX, SPX, NetBIOS, Ethernet,ARCNET, SONET, SDH, Fiber Distributed Data Interface (FDDI), RS232, IEEE802.11, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, CDMA, GSM, WiMax anddirect asynchronous connections). A network interface can comprise abuilt-in network adapter, network interface card, PCMCIA network card,card bus network adapter, wireless network adapter, USB network adapter,modem or any other device suitable for interfacing the computing device200 to any type of network capable of communication and performing theoperations described herein.

In some implementations, the computing device 200 can comprise or beconnected to multiple display devices 224 a-224 n, which each can be ofthe same or different type and/or form. As such, any of the I/O devices230 a-230 n and/or the I/O controller 223 can comprise any type and/orform of suitable hardware, software, or combination of hardware andsoftware to support, enable or provide for the connection and use ofmultiple display devices 224 a-224 n by the computing device 200. Forexample, the computing device 200 can include any type and/or form ofvideo adapter, video card, driver, and/or library to interface,communicate, connect or otherwise use the display devices 224 a-224 n.In some implementations, a video adapter can comprise multipleconnectors to interface to multiple display devices 224 a-224 n. Thecomputing device 200 can include multiple video adapters, with eachvideo adapter connected to one or more of the display devices 224 a-224n. Any portion of the operating system of the computing device 200 canbe configured for using multiple displays 224 a-224 n. One ordinarilyskilled in the art will recognize and appreciate the various ways andimplementations that a computing device 200 can be configured to havemultiple display devices 224 a-224 n.

An I/O device 230 can be a bridge between the system bus 250 and anexternal communication bus, such as a USB bus, an Apple Desktop Bus, anRS-232 serial connection, a SCSI bus, a FireWire bus, a FireWire 800bus, an Ethernet bus, an AppleTalk bus, a Gigabit Ethernet bus, anAsynchronous Transfer Mode bus, a HIPPI bus, a Super HIPPI bus, aSerialPlus bus, a SCI/LAMP bus, a FibreChannel bus, or a Serial Attachedsmall computer system interface bus.

C. Capturing and Translating Braille Embossing

Referring now to FIG. 3A, a block diagram of an implementation of asystem 300 for capturing and translating Braille embossing of amechanical Braille writer is shown and described. The system 300 caninclude a capture engine 301 coupled to a plurality of sensors 302 a-302n (collectively, 302). The sensors can be positioned within a mechanicalBraille writer 60 to capture activity of the writer (e.g., depression ofa key, reset of a key, movement of a lever connected to a key). Captureengine 301 can connect to a memory unit 304 for storing datacorresponding to the activity. A translation engine 306 can interpretthe activity. The translation engine 306 can send the results of theinterpretation to an output system 308. Output system 308 can send theresults to one or more output devices 310 a-310 n for, e.g., display,audio transmission. In some implementations, the system 300 can includea power supply 312.

In some implementations, a capture engine 301 can be coupled to aplurality of sensors 302 for sensing movement of mechanical parts of amechanical Braille writer 60. For example, a sensor 302 can be placedproximate to a lever coupled to an embossing key 62-72. In someimplementations, a sensor 302 can include a Hall-effect sensor, such asa US 1881 Hall Latch manufactured by Melexis Microelectronic Systems ofleper, Belgium. A magnet can be attached to a lever. When a user of thewriter 60 depresses a key, the lever coupled to the key can move suchthat the attached magnet approaches and/or passes a Hall plate of thesensor. In some implementations, a magnet can be placed on the undersideof a key, on a horizontal bar (e.g., lever), or on a pin lifter of theembosser head. A Hall-effect sensor can be placed such that motion ofthe key, bar, lever, and/or pin lifter during operation of the Braillewriter 60 brings magnet proximate to the sensor. In someimplementations, the motion positions the magnet to saturate theHall-effect sensor. In some implementations, a magnet and sensor can beplaced in first orientation for a first key, and in a second orientationfor a second key, to provide flexibility in interior placement ofcomponents.

In some implementations, a depressed key in a Braille writer 60 can movea roller and cam, thereby drawing a pivoting arm forward. In someimplementations, a sensor 302 can be placed proximate to the pivotingarm. A magnet can be mounted on the arm such that motion of the armmoves the magnet past the sensor 302. In some implementations, one ormore components of the mechanical Braille writer 60 can be magnetized,thereby eliminating the need for additional magnets.

Although some implementations described herein use Hall-effect sensors,other types of sensors can be used. In some implementations, an opticalsensor can be used to detect reflection, transmission, and/or lack oftransmission of an optical signal. An optical sensor and an opticalsource can be positioned within a Braille writer 60 such that movementof a lever during embossing positions the lever between the sensor andsource, thereby blocking detection of an optical signal. An opticalsensor and an optical source can be positioned such that a lever canreflect the source to the sensor during embossing.

In some implementations, a capacitive switch can be used for the sensor302. A plate of a capacitor can be installed on a lever and/or key.Movement of the lever and/or key during embossing can change thecapacitance of the capacitor, which can be detected. In someimplementations, movement of a lever can position the lever betweenplates of a capacitor, changing its capacitance. In someimplementations, a mechanical switch can be used as the sensor. Movementof the key, lever, bar, and/or pin lifter can press and/or release themechanical switch.

In some implementations, a sensor 302 can be coupled to an embossingkey. In some implementations, a sensor 302 can be coupled to a spacekey. In some implementations, a sensor 302 can be coupled to a backspacekey. In some implementations, a sensor 302 can be coupled to acorrection key (e.g., a correction pad). In some implementations, asensor 302 can be coupled to a function key. In some implementations, asensor 302 can be coupled to a paper roll mechanism. In someimplementations, a sensor 302 can be coupled to a position on the paperroll (e.g., a position within a predetermined number of characters fromthe end of a line). In some implementations, a sensor 302 can be coupledto a carriage key.

In some implementations, capture engine 301 can comprise logic and/orother functionality for detecting signals from one or more sensors 302and storing the signals in a memory 304. In some implementations,capture engine 301 can determine that a user has depressed a key when asignal from a sensor coupled to the key exceeds a predeterminedthreshold (e.g., a magnet attached to the key saturates a Hall-effectsensor as the user operates the key). In some implementations, captureengine 301 can determine that a user has depressed a key when a signalfrom a sensor coupled to the key falls below a predetermined threshold(e.g., a lever coupled to the key obstructs the path between an opticalsource and an optical sensor as the user operates the key). In someimplementations, capture engine 301 can include an analog-to-digital(A/D) converter for converting analog signals to digital signals. TheA/D converter can convert signals larger or smaller than thepredetermined threshold.

In some implementations, capture engine 301 can determine if a Braillecell has been completed. A Braille cell can be completed when all keysfor a cell entry have been depressed and/or released. For example, threesimultaneously pressed keys can correspond to three dots in a singlecell. In another example, a user can press a first key, second key, andthird key. Sensors 302 corresponding to the keys can send signals to thecapture engine 301 indicating the keys have been depressed. The captureengine 301 can interpret the signals to determine if the key depressionscorresponding to a single cell, two cells, or three cells.

In some implementations, capture engine 301 can detect both keydepressions and releases (also referred to herein as “resets”). Captureengine 301 can interpret such depressions and releases to determine thata Braille cell has been completed. In some implementationsimplementation, capture engine 301 can interpret the release of all keysas the completion of a Braille cell. For example, once the captureengine 301 receives a signal above a predetermined threshold from asensor, the capture engine 301 can continue receiving signals from thesensors until all the signals fall below the predetermined threshold.The received signals can be considered a complete Braille cell.

In some implementations, capture engine 301 can include a de-bouncingcircuit. The de-bouncing circuit can reduce sensitivity and providehysteresis. The de-bouncing circuit can aid the capture engine 301 ininterpreting temporally proximate key depressions as belonging to thesame Braille cell. In some implementations, the de-bouncing circuit caninterpret key depressions within a predetermined period of time tobelong to the same Braille cell. For example, once the capture engine301 receives a signal above a predetermined threshold from a sensor, thecapture engine 301 can interpret all signals received from the sensorswithin a predetermined period of time as belonging to the same Braillecell. Exemplary periods of time include 10 ms, 20 ms, 50 ms, 100 ms, or500 ms, although any other period of time can be used.

In some implementations, the de-bouncing circuit can restart thepredetermined period of time each time the capture engine 301 receives asignal from a sensor above a predetermined threshold. When thepredetermined period of time elapses without further key depressions,the capture engine 301 can interpret received signals as belonging tothe same Braille cell. In some implementations, the predetermined periodof time can be adjustable, according to the user's typing and/orembossing speed.

In some implementations, the capture engine 301 can interpret signals asbelonging to the same Braille cell based on movement of the space keyand/or embosser head. Capture engine 301 can be coupled to a sensor 302that detects movement of the space key and/or embosser head. Captureengine 301 can interpret movement of the space key and/or embosser headas completion of a Braille cell. Capture engine 301 can interpretsignals received between movements of the space key and/or embosser headas belonging to the same Braille cell. These implementations cancontemplate Braille writers with embosser keys mechanically linked tothe space key (e.g., depressing an embosser key can simultaneouslydepress the space key; releasing the embosser key can simultaneouslyrelease the space key, thereby advancing the embosser; depressing thespace key and/or embossing key advances the embosser head).

In some implementations, translation engine 306 can comprise logic orother functionality for interpreting one or more signals as a character(e.g., ASCII character). The translation engine 306 can interpret thesignals to obtain a Braille cell and/or a value of a Braille cell.

Translation engine 306 can include a dictionary. The dictionary caninclude Braille cells and their corresponding alphanumeric characters,words, punctuation, and/or contractions, by way of example. In someimplementations, translation engine 306 can include dictionaries fordifferent languages. In some implementations, translation engine 306 caninclude dictionaries for different systems, such as grade 1 Brailleand/or grade 2 Braille. Translation engine 306 can receive inputs from auser (e.g., sequence of key presses as a command sequence) for selectinga dictionary and/or switching between dictionaries.

In some implementations, a dictionary of translation engine 306 caninclude an index table. Indices can correspond to Braille cells and/orvalues of Braille cells. The entries for the Braille cells can becorresponding alphanumeric characters, punctuation, words, and/orcontractions, by way of example. In some implementations, translationengine 306 can include a memory. The memory can store values (e.g.,ASCII characters, ASCII strings) at addresses corresponding to values ofBraille cells. For example, an empty cell can be addressed as address 0,while a full six-dot cell can be addressed as address 31. Thus,translation engine 306 can include a lookup table. In someimplementations, a sensor 302 can be mounted to a key representing afunction key. If the user is operating the function key, translationengine 306 can use a second lookup table instead of a first lookuptable. For example, when the user is not operating the function key,translation engine 306 can access a first lookup table and retrieve anentry corresponding to a depressed key (e.g., the letter “a”). When theuser operates the function key, translation engine 306 can access asecond lookup table instead of the first lookup table. The entry in thesecond lookup table corresponding to the depressed key can include, forexample, a command to read out a line of text, instead of registeringthe letter “a.”

Memory 304 can include a memory (e.g., cache) for transferring signalsfrom capture engine 301 to translation engine 306. In someimplementations, capture engine 301 and translation engine 306 can beconnected via a bus. In some implementations, the translation engine 306and capture engine 301 can be implemented via a single engine and/orprocessor. Memory 304 can include an internal cache or memory element ofa single engine. In some implementations, memory 304 can includesufficient memory to retain sequences of characters, such as words,lines, sentences, paragraphs, and/or pages.

In response to a command (e.g., operation of a function key and apredetermined set of embossing keys), output system 308 can access thesequences from memory 304. For example, an output system 308 can obtainsequences from memory 304 until the last recorded punctuation mark. Theoutput system 308 can apply a text-to-speech function to the sequences.The system 308 can output the resulting sequences to an output device310, such as a speaker. Thus, a user can operate the system 300 torecite the most recently embossed sentence. In some implementations, theoutput system 308 includes a text-to-speech function that can supportmultiple languages (e.g., English, Russian, Spanish, French, German,Portuguese, Arabic, Hindi).

In some implementations, the capture engine 301 can receive a signalfrom a sensor indicating the paper roll has reached a predeterminedposition. The capture engine 301 can send the signal to the translationengine 306. The translation engine 306 can generate a near-end-of-linealert, based on the signal. The translation engine 306 can send aninstruction to the output system 308 to output a near-end-of-line alert.In some implementations, the alert can be an audio signal stating thatthe writer 60 is within a predetermined number of characters from theend of the line. Other types of audio signals may be used, such asclicks and/or beeps.

Output system 308 can comprise logic and/or functionality for outputtingalphanumeric characters, words, punctuation, and/or other symbols to oneor more output devices 310 a-310 n. An exemplary output device 310 caninclude a liquid crystal display (LCD), and output system 308 can sendsignals corresponding to characters for display on the LCD. Thus, apartially sighted user can use a large-character LCD when learning totype Braille. A sighted teacher can observe the LCD to correct astudent's typing. In some implementations, the LCD screen can displaysystem information in addition to text corresponding to user typing(e.g., remaining battery life, remaining memory capacity, currentlanguage). In some implementations, the LCD screen can include aninterface for connecting to an external VGA monitor. In someimplementations, the LCD screen can include an interface for outputtingmicro-HDMI digital video and/or audio signals to an external device.

Another exemplary output device 310 can include a speaker, when outputsystem 308 includes a text-to-speech function. Output device 310 canthus recite embossed sequences. In some implementations, output system308 can generate sounds for punctuation (e.g., non-verbal sounds). Insome implementations, output system 308 can generate a click for aspace, a first tone for a period, and/or a second tone for a questionmark. Output system 308 can generate beeps, chords, notes, and/or othersounds to notify a user of an entered character.

Another exemplary output device 310 can include a storage device. As thetranslation engine 206 translates signals into, e.g., alphanumericcharacters, the output system 308 can store the characters on a storagedevice. Thus, users can later retrieve text produced via the Braillewriter 60 from a file on the storage device.

In some implementations, output device 310 can include a printer,cathode ray tube (CRT) monitor, storage device, teletypewriter, and/orany other device capable of converting a signal to a perceivable output.In some implementations, an output device 310 can be paired to an inputof a computing device. For example, an output device 310 can include anetwork interface, such as an Ethernet connection to a network. Outputsystem 308 can comprise functionality for sending data via the networkto another computing device, such as a terminal client, an ftp or httpclient, an http, ftp, ssh server, or any other client or serverinterface. In some implementations, an output device 310 can include aserial or parallel connection to another external device, including aUSB connection.

In some implementations, system 300 can include a power supply 312. Apower supply 312 can comprise one or more power storage devices, such asa battery, flywheel, capacitor, fuel cell, or other structure forstoring electrical power. In some implementations, a power supply 312can include a power generation device, such as a solar cell, or amainspring and crank. In some implementations, power supply 312 canconvert an external AC or DC voltage to one or more DC voltages usableby system 300 and sensors 302, including a transformer, a voltageregulator circuit, or other similar structures. In some implementations,a power supply 312 can comprise a combination of these elements, such asa combination of rechargeable batteries and solar cells, or AC to DCconversion and batteries. In some implementations, power supply 312 caninclude a standard power connector such that a user can connect anexternal power supply to the system 300. For example, a power supply 312can include a USB receptacle such that a user can connect a USB plug todraw from a computer power supply or battery device. In another example,power supply 312 can include a receptacle for connecting an externalcranked electrical generator or solar power device. In someimplementations, power supply 312 can include a power switch and/or apower level indicator. In a further implementation, power supply 312 caninclude functionality for generating, via output system 308, sounds,graphics, or other data to indicate to a user conditions such aspower-on, low power, battery-charging, or any other availableinformation regarding power conditions.

In some implementations, system 300 can be an add-on module for aBraille writer 60. Such an add-on module can be installed on amechanical Braille writer and sold with the writer. In someimplementations, the add-on module can be sold individually, and a usermay install the module on a Braille writer 60. Sensors 302 a-n can bemounted on a sensor board designed to be installed within a mechanicalBraille writer 60 as a single unit. In some implementations, the sensors302 can be conformally coated and/or enclosed. In some implementations,system 300 can be integrated into a Braille writer 60.

Referring now to FIG. 3B, a flow chart of an exemplary method forcapturing and translating embossing of a mechanical Braille writer isshown and described. In general overview, a capture engine 301 candetect a key press (step 320). The capture engine can start a timer(step 322). In response to detection of further key presses, the captureengine can restart the timer (step 324). The capture engine can continuerestarting the timer whenever the engine detects another key press(steps 322-324). When the timer expires, the translation engine can deemthe signals captured by the timer as a Braille cell. The translationengine can translate the signals for the Braille cell (step 326). Anoutput system 308 can output the translated signals to output devices(step 328). The capture engine can detect the reset and/or release ofall the keys (step 330). The capture engine can wait for the next keypress (step 320).

The method can include a capture engine 301 detecting a key press (step320). One or more sensors 302 can send a signal to the capture engine301 according to movement of a component coupled to an embossing keyand/or space bar. If the signal meets conditions (e.g., exceeds or fallsbelow a predetermined threshold), capture engine 301 can interpret thesignal as depression of a key. In some implementations, the sensors 302can create an analog and/or digital signal corresponding to the motion.In some implementations, the capture engine 301 can de-bounce the signalto reduce sensitivity or avoid errors.

The method can include a capture engine starting a timer (step 322). Insome implementations, the timer can aid hysteresis such that the captureengine interprets keys pressed nearly simultaneously as belonging to thesame Braille cell. In some implementations, if additional key pressesare detected before the timer expires, the capture engine can reset thetimer (step 324). In some implementations, the capture engine does notreset the timer in response to additional key presses. In someimplementations, when the timer expires, the capture engine sendssignals captured from the sensors 302 to the translation engine.

The method can include a translation engine translating captured keypresses (step 326). The translation engine can translate captured keypresses according to a Braille dictionary, lookup table, and/or otherindex. The translation engine can translate key presses into a letter,number, symbol, prefix or suffix, combination of letters, word,punctuation mark, or other character or characters, as discussed above.

The method can include an output system 308 outputting the translatedsignals to output devices (step 328). An output system 308 can outputthe translated captured key presses via a visual display, such as an LCDor CRT. An output system can output the translated captured key pressesvia an audio system, such as a text-to-speech engine, amplifier, and/orspeaker. An output system can output the translated captured key pressesas data to another computing device, such as a printer, a storagedevice, or another computer via a network.

The method can include a capture engine detecting the reset and/orrelease of all the keys (step 330). The capture engine can detect thatsignals received by the sensors have exceeded a predetermined threshold.The capture engine can detect that signals received by sensors havefallen below a predetermined threshold. In some implementations, theembosser head of a Braille writer cannot move until all keys have beenreleased. Thus, the system 300 can account for unexpected behavior, suchas a user holding one key down while repeatedly pressing another key.Upon detecting reset of all keys, the method can repeat steps 320-330.

Referring now to FIG. 4, a block diagram of an exemplary mechanicalBraille writer 60 with an installed capture and translation module (notvisible) and installed LCD screen 400 is shown and described. Althoughreferred to as an LCD screen, in many implementations, screen 400 caninclude an Organic Light Emitting Diode (OLED) based display, anelectronic ink (eInk) display, or any other type and form of visualdisplay module. Although shown installed to the mechanical Braillewriter 60, in many implementations, LCD screen 400 can be a separateunit connected via an interconnection cable to a capture and translationmodule. In some implementations, an LCD screen 400 can comprise aspeaker or speakers for a text-to-speech engine to output translatedcharacters, as discussed above.

In some implementations, LCD screen 400 can be attached to a frontsurface of a mechanical Braille writer 60. For example, LCD screen 400can be attached via an adhesive substance. LCD screen 400 can beattached mechanically via screws, bolts, snaps, toggles, pins, or othertype and form of mechanical attachment. LCD screen 400 can be attachedvia a magnetic attachment. LCD screen 400 can comprise one or moremagnets or magnetic sections, and the front surface of mechanicalBraille writer 60 can comprise a ferrous material. LCD screen 400 can beremovable. LCD screen 400 can comprise a connector, such as an edgeconnector, ribbon connector, USB connector, parallel or serialconnector, or other interconnection for providing one or more datasignals to LCD screen 400. LCD screen 400 can be non-removable and canbe mounted to Braille writer 60. The front panel of Braille writer 60can comprise a cavity or opening sized to receive LCD screen 400, whichcan thus be mounted within Braille writer 60. LCD screen 400 can bemounted to protrude from Braille writer 60, as illustrated in FIG. 4. Insome implementations, LCD screen 400 can be mounted flush with the frontpanel of Braille writer 60.

In some implementations, LCD screen 400 can include a dimmablebacklight. In some implementations, LCD screen 400 can be disabled.

Referring now to FIG. 5, a diagram of a Braille writer showing theinterface for a system for capturing and translating Braille embossingis shown and described. The interface can include a control, such as abutton 505, for entering or exiting a menu. The menu can be displayed ona screen 540. A user can navigate through the options on the menu viadirectional controls 510, 515, 520, and 535. The user can select anoption on the menu via a selection control 530. In some implementations,the menu includes options for selecting a braille grade. In someimplementations, the menu includes options for selecting a language. Insome implementations, the menu includes options for selecting settingsof a text-to-speech function (e.g., the speed at which thetext-to-speech function will read out text). The user can operate thedirectional controls 510 and 520 to increase or decrease the speed ofread-out. The user can operate the selection control 530 to select asetting for the speed.

In some implementations, the menu can include options for recalling usersettings (e.g., language, size of text for LCD screen, text-to-speechsettings). The menu can include options for setting power management.For example, a user can set an auto-off and/or sleep mode. The Braillewriter 60 and/or system 300 can enter a reduced power consumption stateafter a predetermined period of time of inactivity (e.g., 5, 10, 15, or30 minutes). The menu can include options for retrieving files ofpreviously entered text. Operation of such controls can display a listof files saved on an internal memory of the writer 60 and/or on anexternal storage device connected to the writer 60 (e.g., a USB drive).In some implementations, operation of the controls sends audio signalscorresponding to the names of files to a speaker. By operating acontrol, a user can temporarily select a file and the beginning lines ofthe file can be output to the speaker. The user can then select the filefor editing.

The menu can include options for controlling an output device 310, suchas an LCD screen. In some implementations, the menu can include anoption for dimming a backlight of the LCD screen.

In some implementations, the menu includes options for selecting abrailling screen setup. For example, the menu can enable a user tochange the size of text displayed on the screen 540. In someimplementations, the menu includes options for selecting a color settingfor the screen. For example, the menu can enable a user to change thescreen to operate in a black and white mode or a color mode.

The interface can include a control 545 for turning the screen 540 on oroff. The interface can include a control 550 for setting a condition fortext-to-speech functions, a control 555 for selecting a brailling screensetup, and/or a control 560 for selecting a color setting for thescreen. Iteratively selecting any of the controls can enable the system300 to cycle through common settings for the function. The user can stopselecting the control 550 when the system 300 arrives at the user'sdesired setting.

The interface can include a control 565 that controls the volume anoutput device 310, such as a speaker. In some implementations, theinterface can include a audio headphone jack (not shown).

Having described certain implementations of methods and systems forcapturing and translating Braille embossing, it will now become apparentto one of skill in the art that other implementations incorporating theconcepts of the disclosure can be used.

What is claimed is:
 1. A Braille writer, comprising: a chassissupporting at least one finger operated key, each key of the at leastone finger operated keys coupled to an embossing mechanism so thatdepression of a key causes a corresponding one of at least one pin inthe embossing mechanism to extend outwardly from the embossing mechanismto create a raised dot on paper adjacent to the embossing mechanism, thecoupling of the finger operated keys and embossing mechanism consistingof one or more mechanical interconnections and not including anelectrical connection; and a capture module having a powered state andan unpowered state and comprising: (i) at least one sensor for sensingmovement of the corresponding mechanical interconnection of the at leastone finger operated key and at least one pin, and (ii) a memory elementfor storing an output of each of the at least one sensors; such that,when the capture module is in the unpowered state, depression of a keycauses the corresponding one of at least one pin in the embossingmechanism to extend outwardly from the embossing mechanism to create theraised dot on paper adjacent to the embossing mechanism.
 2. The Braillewriter of claim 1, wherein the at least one sensor comprises at leastone optical sensor, and wherein the capture module further comprises acorresponding at least one optical source.
 3. The Braille writer ofclaim 1, wherein the at least one sensor comprises at least one magneticsensor, and wherein the capture module further comprises a correspondingat least one magnet attached to a corresponding at least one fingeroperated key or mechanical interconnection of the at least one fingeroperated key and at least one pin.
 4. The Braille writer of claim 1,wherein the at least one sensor comprises at least one mechanicalswitch.
 5. The Braille writer of claim 1, wherein the at least onesensor comprises at least one capacitive switch.
 6. The Braille writerof claim 1, wherein the capture module further comprises a de-bouncingcircuit.
 7. The Braille writer of claim 1, wherein the capture modulefurther comprises a Braille translation engine for translating at leastone signal from the corresponding at least one sensor corresponding toone or more embossed dots of a Braille cell into one or morealphanumeric characters or text symbols.
 8. The Braille writer of claim7, wherein the Braille translation engine is configured to interpret afirst output signal of a first sensor of the at least one sensor asinitiating embossing of a Braille cell, and a second output signal ofthe first sensor of the at least one sensor as completing embossing ofthe Braille cell.
 9. The Braille writer of claim 7, wherein the Brailletranslation engine is configured to interpret an output signal of afirst sensor of a plurality of sensors as corresponding to at least onedot of an embossed Braille cell, and an output signal of a second sensorof a plurality of sensors as completing embossing of the Braille cell.10. The Braille writer of claim 7, wherein the capture module furthercomprises a timer with a predetermined expiration time started uponreceipt of a signal from the at least one sensor, and the Brailletranslation engine is configured to interpret all further signalsreceived from the at least one sensor until expiration of the timer ascorresponding to a single Braille cell.